{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "317255ab",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 库导入\n",
    "import torch\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "7f1687a6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<torch._C.Generator at 0x116514650>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 用种子保证结果可以复现\n",
    "seed = 2025\n",
    "torch.manual_seed(seed)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "06f554cd",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 生成随机数据\n",
    "n = 200\n",
    "x = torch.linspace(0, 10, n).unsqueeze(1) # 把张量从[n]变成[n,1]\n",
    "# 真实斜率以及截距\n",
    "a_true = 2\n",
    "b_true = 1\n",
    "# 生成噪声\n",
    "noise = 0.7*torch.randn_like(x) # tensor的形状同x\n",
    "y = a_true*x + b_true + noise"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "5c7c4213",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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WQWnq6tLixcv1tixY1VeXq5x48Zp2bJljuYKInkvvPCCZs6cqREjRigQCOipp57q9XPDMPStb31L1dXVKi8vV11dnfbt25fxdRLCUvCzn/1MixYt0pIlS7Rr1y5deumluvbaa/Xuu+/6vbSCsnXrVs2bN0/bt2/Xxo0b1dnZqc985jNqa2vze2kF65VXXtG//du/6eMf/7jfSylIx48f15QpU1RSUqJf//rX2rNnj/7lX/5FgwcP9ntpBWfFihVas2aNVq9erTfeeEMrVqzQAw88oB/84Ad+Ly2vtbW16dJLL9VDDz1k+fMHHnhA3//+9/XII4/o5ZdfVkVFha699lq1t7dndqEGkjZp0iRj3rx5Pd93dXUZI0aMMJYvX+7jqvDuu+8akoytW7f6vZSCdPLkSWP8+PHGxo0bjU9/+tPGXXfd5feSCs7dd99tTJ061e9lwDCMG264wbjjjjt6PXbLLbcYt912m08rKjySjCeffLLn+0gkYoRCIeN73/tez2MnTpwwSktLjSeeeCKja2MnLEkdHR3auXOn6urqeh4rKipSXV2dtm3b5uPKEA6HJUlVVVU+r6QwzZs3TzfccEOv/9tAZj3zzDO64oor9PnPf17Dhg3TZZddpscee8zvZRWkT37yk9q0aZP27t0rSXrttdf04osv6rrrrvN5ZYXr4MGDam5u7vX/o4LBoK688sqM//ud9wO80+X9999XV1eXhg8f3uvx4cOH68033/RpVYhEIlqwYIGmTJmi2tpav5dTcNavX69du3bplVde8XspBe33v/+91qxZo0WLFukb3/iGXnnlFf3DP/yD+vfvrzlz5vi9vIJyzz33qLW1VRdeeKGKi4vV1dWl73znO7rtttv8XlrBam5uliTLf7/Nn2UKIQx5Zd68eWpsbNSLL77o91IKzuHDh3XXXXdp48aNKisr83s5BS0SieiKK67Q/fffL0m67LLL1NjYqEceeYQQlmE///nP9Z//+Z9at26dLr74Yu3evVsLFizQiBEj+FuAwvxkDR06VMXFxTp69Givx48ePapQKOTTqgrb/Pnz9eyzz2rLli0699xz/V5Owdm5c6feffddTZw4Uf369VO/fv20detWff/731e/fv3U1dXl9xILRnV1tWpqano9dtFFF+kPf/iDTysqXF//+td1zz336NZbb9Ull1yiL37xi1q4cKGWL1/u99IKlvlvdDb8+00IS1L//v11+eWXa9OmTT2PRSIRbdq0SZMnT/ZxZYXHMAzNnz9fTz75pDZv3qyxY8f6vaSCdM011+j111/X7t27e76uuOIK3Xbbbdq9e7eKi4v9XmLBmDJlSp82LXv37tXo0aN9WlHhOnXqlIqKev9TW1xcrEgk4tOKMHbsWIVCoV7/fre2turll1/O+L/fHEemYNGiRZozZ46uuOIKTZo0SatWrVJbW5tuv/12v5dWUObNm6d169bp6aef1sCBA3vO9IPBoMrLy31eXeEYOHBgnzq8iooKDRkyhPq8DFu4cKE++clP6v7779df/dVfaceOHXr00Uf16KOP+r20gjNz5kx95zvf0ahRo3TxxRfr1Vdf1YMPPqg77rjD76XltQ8++ED79+/v+f7gwYPavXu3qqqqNGrUKC1YsEDf/va3NX78eI0dO1aLFy/WiBEjdNNNN2V2oRm9i5mHfvCDHxijRo0y+vfvb0yaNMnYvn2730sqOJIsvx5//HG/l1bwaFHhnw0bNhi1tbVGaWmpceGFFxqPPvqo30sqSK2trcZdd91ljBo1yigrKzM+9rGPGd/85jeNM2fO+L20vLZlyxbLfxfmzJljGEZ3m4rFixcbw4cPN0pLS41rrrnGeOuttzK+zoBh0LYXAAAg06gJAwAA8AEhDAAAwAeEMAAAAB8QwgAAAHxACAMAAPABIQwAAMAHhDAAAAAfEMIAAAB8QAgDAADwASEMAADAB4QwAPjQe++9p1AopPvvv7/nsd/+9rfq37+/Nm3a5OPKAOQjZkcCQJRf/epXuummm/Tb3/5WF1xwgSZMmKAbb7xRDz74oN9LA5BnCGEAEGPevHlqaGjQFVdcoddff12vvPKKSktL/V4WgDxDCAOAGKdPn1Ztba0OHz6snTt36pJLLvF7SQDyEDVhABDjwIEDOnLkiCKRiA4dOuT3cgDkKXbCACBKR0eHJk2apAkTJuiCCy7QqlWr9Prrr2vYsGF+Lw1AniGEAUCUr3/96/qv//ovvfbaazrrrLP06U9/WsFgUM8++6zfSwOQZziOBIAPPf/881q1apV++tOfqrKyUkVFRfrpT3+q3/zmN1qzZo3fywOQZ9gJAwAA8AE7YQAAAD4ghAEAAPiAEAYAAOADQhgAAIAPCGEAAAA+IIQBAAD4gBAGAADgA0IYAACADwhhAAAAPiCEAQAA+IAQBgAA4ANCGAAAgA/+f6xIZG4OZMtqAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 700x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 展示数据\n",
    "plt.figure(figsize=(7,5))\n",
    "plt.scatter(x.numpy(), y.numpy(), label='data show')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "a336956b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 开始拟合数据\n",
    "a_fit = torch.nn.Parameter(torch.randn(1,1)) # 随机初始化数据\n",
    "b_fit = torch.nn.Parameter(torch.zeros(1))\n",
    "# 设定学习率\n",
    "initial_lr = 0.01\n",
    "optimizer = torch.optim.SGD([a_fit,b_fit], lr = initial_lr) # 创建一个随机梯度优化器\n",
    "scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=1, gamma=0.95) # 创建一个学习率调度器\n",
    "# 设定训练\n",
    "epochs = 30"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "e257b116",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch   1 ,lr=0.010000 ,MSE=70.62\n",
      "Epoch   2 ,lr=0.009500 ,MSE=7.67\n",
      "Epoch   3 ,lr=0.009025 ,MSE=1.52\n",
      "Epoch   4 ,lr=0.008574 ,MSE=0.79\n",
      "Epoch   5 ,lr=0.008145 ,MSE=0.68\n",
      "Epoch   6 ,lr=0.007738 ,MSE=0.66\n",
      "Epoch   7 ,lr=0.007351 ,MSE=0.66\n",
      "Epoch   8 ,lr=0.006983 ,MSE=0.65\n",
      "Epoch   9 ,lr=0.006634 ,MSE=0.65\n",
      "Epoch  10 ,lr=0.006302 ,MSE=0.65\n",
      "Epoch  11 ,lr=0.005987 ,MSE=0.65\n",
      "Epoch  12 ,lr=0.005688 ,MSE=0.65\n",
      "Epoch  13 ,lr=0.005404 ,MSE=0.65\n",
      "Epoch  14 ,lr=0.005133 ,MSE=0.65\n",
      "Epoch  15 ,lr=0.004877 ,MSE=0.65\n",
      "Epoch  16 ,lr=0.004633 ,MSE=0.65\n",
      "Epoch  17 ,lr=0.004401 ,MSE=0.65\n",
      "Epoch  18 ,lr=0.004181 ,MSE=0.65\n",
      "Epoch  19 ,lr=0.003972 ,MSE=0.65\n",
      "Epoch  20 ,lr=0.003774 ,MSE=0.65\n",
      "Epoch  21 ,lr=0.003585 ,MSE=0.65\n",
      "Epoch  22 ,lr=0.003406 ,MSE=0.64\n",
      "Epoch  23 ,lr=0.003235 ,MSE=0.64\n",
      "Epoch  24 ,lr=0.003074 ,MSE=0.64\n",
      "Epoch  25 ,lr=0.002920 ,MSE=0.64\n",
      "Epoch  26 ,lr=0.002774 ,MSE=0.64\n",
      "Epoch  27 ,lr=0.002635 ,MSE=0.64\n",
      "Epoch  28 ,lr=0.002503 ,MSE=0.64\n",
      "Epoch  29 ,lr=0.002378 ,MSE=0.64\n",
      "Epoch  30 ,lr=0.002259 ,MSE=0.64\n"
     ]
    }
   ],
   "source": [
    "# 训练循环\n",
    "for epoch in range(1, epochs + 1):\n",
    "    optimizer.zero_grad() # 清空累积的梯度\n",
    "    y_hat = x @ a_fit + b_fit # @ 为矩阵乘法运算符\n",
    "    loss = torch.mean((y_hat - y) ** 2)\n",
    "    loss.backward()\n",
    "    optimizer.step()\n",
    "    # 打印当前学习率与损失\n",
    "    current_lr = optimizer.param_groups[0]['lr']\n",
    "    print(f\"Epoch {epoch:3d} ,lr={current_lr:.6f} ,MSE={loss.item():.2f}\")\n",
    "    scheduler.step()    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "0b196c15",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "true a:2, a:2.11\n",
      "true b:1, b:0.27\n"
     ]
    }
   ],
   "source": [
    "# 打印学习出来的和真实的对比\n",
    "print(f\"true a:{a_true}, a:{a_fit.item():.2f}\")\n",
    "print(f\"true b:{b_true}, b:{b_fit.item():.2f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "4d0566e3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 展示数据\n",
    "plt.figure(figsize=(7,5))\n",
    "plt.scatter(x.numpy(), y, label='data show')\n",
    "y_true = a_true * x + b_true\n",
    "y_fit = a_fit.item() * x + b_fit.item()\n",
    "plt.plot(x, y_true, color = 'r', label='true line')\n",
    "plt.plot(x.numpy(), y_fit, color = 'orange', label='fit line')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9923df13",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
